# ● 客户端发起POST请求，传递 Json 数据，数据包含：
#
#
# ● 后端视图中 /login 接收用户的请求
# 	○ 如果用户名和密码成功，表示登录成功，重定向到 /userinfo 在此页面中显示：欢迎回来： zhangsan
# 	○ 如果用户名或者密码错误，登录失败
# ● 登录成功，判断 remember 是否为 True，如果为True，实现状态保持，并设置过期时间为 3天，否则当用户关闭浏览器之后就结束会话。
from flask import Flask, request, redirect, make_response

app = Flask(__name__)


@app.route("/login", methods=["post"])
def login():
    req_data = request.json
    username = req_data.get("username")
    password = req_data.get("password")
    remember = req_data.get("remember")
    data = {
        "username": "zhangsan",
        "password": "123456"
    }
    if username == data["username"] and password == data["password"]:
        response = make_response(redirect("/userinfo"))
        if remember == True:

            response.set_cookie("username", username, max_age=3 * 24 * 60 * 60)
            return response
        else:
            response.set_cookie("username", username)
            return response
    else:
        return "用户名或者密码错误", 400


@app.route("/userinfo")
def userinfo():
    username = request.cookies.get("username")
    return f"欢迎回来:{username}"


if __name__ == '__main__':
    app.run()
